From ce9a5a3fecd10acc464252c21de8a3a92ea013e1 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 4 Mar 2015 17:12:40 -0300 Subject: [PATCH] places sidebar: compare bookmarks by index GtkPlacesSidebar applies a sorting function on the tree model that does not consider the case of bookmarks, which are sorted by their indexes. By adding the bookmarks corner case and comparing then by their indexes, GtkPlacesSidebar can sort the bookmarks properly in the order they're saved. https://bugzilla.gnome.org/show_bug.cgi?id=744589 --- gtk/gtkplacessidebar.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index fecb94f0a2..e9d220edbf 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -3830,6 +3830,20 @@ places_sidebar_sort_func (GtkTreeModel *model, g_free (name_a); g_free (name_b); } + else if ((place_type_a == place_type_b) && + (place_type_a == PLACES_BOOKMARK)) + { + gint pos_a, pos_b; + + gtk_tree_model_get (model, iter_a, + PLACES_SIDEBAR_COLUMN_INDEX, &pos_a, + -1); + gtk_tree_model_get (model, iter_b, + PLACES_SIDEBAR_COLUMN_INDEX, &pos_b, + -1); + + retval = pos_a - pos_b; + } else if (place_type_a == PLACES_CONNECT_TO_SERVER) { retval = 1; -- 2.30.2